package main

import (
	"fmt"
	"sync"
)

var wg sync.WaitGroup

func test(head int, tail int) {
	if head == 0 || head == 1 {
		head = 2
	}
	defer wg.Done()
	for i := head; i < tail; i++ {
		flag := true
		for j := 2; j < i; j++ {
			if i%j == 0 {
				flag = false
				break
			}
		}
		if flag {
			fmt.Printf("%v\n", i)
		}
	}
}
func main() {
	// 获取CPU数量
	// numCpu := runtime.NumCPU()
	// fmt.Println("CPU数量:", numCpu) // CPU数量: 12

	for i := 0; i < 12; i++ {
		wg.Add(1)
		go test(i*10, (i+1)*10) // 多协程打印120以内的素数
	}
	wg.Wait()
	// 通过 for 循环开启
}
